/*
 * Copyright (C) 2006 Johan Maasing johan at zoom.nu Licensed under the Apache
 * License, Version 2.0 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
 * or agreed to in writing, software distributed under the License is
 * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */
package nu.zoom.catonine.stylerule;

/**
 * Listener for changes to a pattern list.
 * @author "Johan Maasing" &lt;johan@zoom.nu&gt;*/
public interface StyleRulesListener {
	/**
	 * Notifies that the list has had a pattern added or deleted. This callback
	 * is not guaranteed to occur on the EventQueue, do not modify the UI in
	 * this call.
	 * 
	 * @param list
	 *            The list that was changed.
	 */
	public void listStructureChanged(StyleRules list);

	/**
	 * Notifies that the list has changed name. This callback is not guaranteed
	 * to occur on the EventQueue, do not modify the UI in this call.
	 * 
	 * @param list
	 *            The list that was changed.
	 */
	public void listChangedName(StyleRules list);

	/**
	 * Notifies that list data has changed (does not include name changes or
	 * pattern added/deleted). This callback is not guaranteed to occur on the
	 * EventQueue, do not modify the UI in this call.
	 * 
	 * @param list
	 *            The list that was changed.
	 */
	public void listDataChanged(StyleRules list);
}
